Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- New version



  Currying in Python

What is Currying? Currying is like a kind of incremental binding of function arguments. Let’s define a simple function which takes 5 arguments: 1def f(a, b, c, d, e):2    print(a, b, c, d, e) In a language where currying is supported, f is a function which takes one argument (a) and returns a function which takes 4 arguments. This means that f(5) is the following function: 1def g(b, c, d, e):2    f(5, b, c, d, e) We could emulate this behavior the...

   Python,Curring,Binding,Implement     2012-03-19 12:59:10

  How to teach "Modern" Perl?

Since I started my Perl Tutorial series a couple of people commented on what and how I am teaching.Some people asked why did I show "open or die" and why not using autodie. Others recommended the use IO::All instead of open.Another complaint was the introduction of time and localtime instead of DateTime.While I was mostly writing parts of my regular training material these comments led me to think about it again. I wonder how to teach Perl in 2012?When I started to write the tutorial I still cal...

   Perl,Trainning,Teach,Modern,Modern Perl     2011-11-15 08:40:18

  How To Build A Site That Looks Great On Every Screen

The responsive design revolution is upon us. With tablet and smartphone use soaring and changing our media habits, Web publishers no longer have a choice but to build designs that work properly on any device or screen size.The hard-working Silicon Valley design firm ZURB has recently released version 2.0 of its responsive design boilerplate kit called Foundation, which is a fundamental framework for a one-size-fits all Web project.Foundation is a CSS and Javascript framework that comes with...

   Website,Design,Device,Screen,Adaptable,Mobile     2011-10-31 10:46:32

  Secure Your Go Code With Vulnerability Check Tool

Security vulnerabilities exist in any language and any code, some are written by ourselves, but more are from the upstream dependencies, even the underlying Linux. We have discussed the security protection methods for Go and Kubernetes Image in Path to a Perfect Go Dockerfile and Image Vulnerability Scanning for Optimal Kubernetes Security, in which the security scanning was performed based on generic. As the Go community grows, more and more open-source packages have caused ...

   GOVULNCHECK,GOSEC,GOLANG     2022-10-29 23:43:20

  Why learning Haskell/Python makes you a worse programmer

I've found, contrary to what you sometimes read, that learning Python and Haskell has not improved my programming using other languages. Haskell in particular, being so different from imperative languages, is supposed to give new insights into programming that will help you even when you are not using the language. My current experience doesn't exactly tally with this, and here is why:Demotivation.I find I think in Python, and even in Haskell to some extent, even though I have used Has...

   Python,Programmer,Bad,Bad programmer,Haskell     2011-10-29 07:13:44

  How to undo git changes?

When using git for version control, there is frequent need on undoing commits due to some unexpected changes. This post will introduce how to undo changes with git command in different cases. Undo commit A common undo case is that some commit needs to be reverted as the commit contains error. In this case, the code is already committed. The command to revert the commit is git revert HEAD This command will add new a commit to the existing head to undo the previous commit. It will not change the p...

   GIT,GIT RESET,GIT REVERT,GIT CHECKOUT     2019-12-28 02:21:47

  git reset vs git revert

When maintaining code using version control systems such as git, it is unavoidable that we need to rollback some wrong commits either due to bugs or temp code revert. In this case, rookie developers would be very nervous because they may get lost on what they should do to rollback their changes without affecting others, but to veteran developers, this is their routine work and they can show you different ways of doing that. In this post, we will introduce two major ones used frequently by develo...

   GIT,GIT RESET,GIT REVERT     2019-02-02 08:26:39

  Understanding PGO in GoLang 1.20

Background The Go 1.20 version was officially released in February 2023, it introduced the PGO(Profile Guided Optimization) mechanism. The basic principle of PGO can be divided into the following two steps: First, profiling is performed on the program to collect data about the program's runtime and generate a profiling file. When compiling the program, enable the PGO option, and the compiler will optimize the program's performance based on the content in the .pgo file. When compiling a program...

   GO 1.20,PGO,GOLANG     2023-02-28 04:27:46

  Generate certificate in Java -- Self signed certificate

This is the first post in this series which I will show you how to generate SSL certificate in Java programmatically. Certificates are frequently used in SSL communication which requires the authentication of server to client. This is to make the client to trust that the server is actually the one it claims. Certificates are really important on the Internet. All HTTPS communications on the Internet need the server side to present their certificates signed by trusted CAs. The basic flow of a requ...

   Java,Certificate,X509     2014-07-30 07:42:18

  Only 4G can resolve the conflicts between China Telecom Carriers and WeChat ?

Why WeChat has made the three big Chinese telecom companies uncomfortable? Let's analyze from both technical and commercial levels. From a technical point of view, Mr. Huang, Dean of China Mobile Research Institute, described the impact of "always online service" applications like WeChat. Instead of using technical terms, we will explain in simple vivid phrases. First, mobile QQ, or WeChat, will have their own "request frequency". These requests are sent to the carrier network, to check the re...

   4G,WeChat,Telecom,China     2013-03-25 08:28:59